const path = require("path");
var prod = process.env.NODE_ENV === "production";

module.exports = {
  wpyExt: ".wpy",
  build: {
    web: {
      htmlTemplate: path.join("src", "index.template.html"),
      htmlOutput: path.join("web", "index.html"),
      jsOutput: path.join("web", "index.js")
    }
  },
  resolve: {
    alias: {
      "@": path.join(__dirname, "src")
    },
    modules: ["node_modules"]
  },
  eslint: true,
  compilers: {
    pug: {},
    stylus: {
      compress: true
    },
    babel: {
      sourceMap: true,
      presets: ["env", "stage-1"],
      plugins: [
        "transform-class-properties",
        "transform-decorators-legacy",
        "transform-object-rest-spread",
        "transform-export-extensions",
        "syntax-export-extensions"
      ]
    }
  },
  plugins: {},
  appConfig: {
    noPromiseAPI: ["createSelectorQuery"]
  }
};

if (prod) {
  delete module.exports.compilers.babel.sourcesMap;
  // 压缩 stylus
  module.exports.compilers["stylus"] = { compress: true };

  // 压缩js
  module.exports.plugins = {
    uglifyjs: {
      filter: /\.js$/,
      config: {}
    },
    imagemin: {
      filter: /\.(jpg|png|jpeg)$/,
      config: {
        jpg: {
          quality: 80
        },
        png: {
          quality: 80
        }
      }
    }
  };
}
